The invention relates to frequency estimation, and more particularly, to a multi-stage apparatus and related method for iteratively correcting an estimated frequency.
For the Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), or Enhanced Data for GSM Evolution (EDGE) systems, a frequency correction burst (FCB) is always transmitted for a mobile station to synchronize its local oscillator to the carrier frequency of the base station. The FCB contains a single sinusoidal tone with its frequency 67.7 kHz above the nominal carrier frequency. However, some additional frequency offset exists due to the local oscillator. In case low precision crystal oscillators were used, the frequency offset could be larger. Typically, the frequency offset could be 15 ppm, which is about 30 kHz for a carrier frequency in the Digital Communication System (DCS) and Personal Communications System (PCS) bands of GSM/GPRS/EDGE systems. The foregoing large carrier frequency offset makes the initial frequency acquisition difficult. Therefore, an efficient frequency estimation method is required in the presence of large frequency offset.
A conventional approach may estimate the frequency of a single tone in the frequency domain, which requires the computation of fast Fourier transform (FFT). Unfortunately, it is not implementation friendly and requires high computation load. Some approaches use a tracking unit like a phase lock loop, which requires many FCB bursts to achieve good performance. However, the tracking period could be too long to be feasibly implemented. Another approach may use iterative filtering to determine a pole estimate, which requires as much as 8 iterations to achieve good performance.
In the paper entitled “An Iterative Algorithm for Single-Frequency Estimation” published in November 2002 in the IEEE Transactions On Signal Processing Vol. 50, No. 11 a frequency estimator taught. Please refer to FIG. 1. FIG. 1 is a block diagram of an existing frequency estimator 10. The frequency estimator 10 utilizes iterative linear prediction for estimating a single frequency {circumflex over (ω)} based on a set of received samples x(n). In a first iteration, a frequency estimator 12 is used to produce an initial frequency estimate {circumflex over (ω)}0. A first iteration begins when an oscillator 14 is used to generate a complex exponential value according to the initial frequency estimate {circumflex over (ω)}0. This value is then multiplied with the set of received samples x(n) using multiplier 16. The signal is then filtered using a low pass filter 18 to sum M1 consecutive samples. Another frequency estimator 20 is used to calculate a frequency offset Δ{circumflex over (ω)}1, which is added to the initial frequency estimate {circumflex over (ω)}0 with adder 22. A modulo operation 23 is then applied to ensure that the resulting refined frequency estimate {circumflex over (ω)}1 is between values of +π and −π. A total of K frequency estimation iterations are performed with the frequency estimator 10. The second through K iterations are performed in a manner similar to that of the first iteration. Finally, after K iterations, the estimated frequency {circumflex over (ω)} is output from the frequency estimator 10. It is important to note that the frequency estimator 10 uses original received samples x(n) as an input for each of the iterations. In addition, it is necessary for the frequency estimator 10 to complete all K iterations in order to produce the estimated frequency {circumflex over (ω)}. However, there may be times in which the frequency that is estimated after an intermediate iteration is already a very good estimate. Even so, the frequency estimator 10 must still complete all K iterations, which is an inefficient method of calculating the estimated frequency.